#ifndef TIMER_H_
#define TIMER_H_

namespace Pantsu {

	struct Timer {

	public:
		
		static Timer		 &get();
		static void			 Update();
		static void			 Init();
		static void			 DeInit();
		static unsigned      GetTime();
		static unsigned long GetClock();

		unsigned	  m_uFrameNumber;
		unsigned      m_uLastFrameTimeStamp;
		unsigned	  m_uLastFrameDuration;
		unsigned long m_ulLastFrameClockStamp;
		unsigned long m_ulLastFrameClockTicks;

		bool		  m_bIsPaused;
		double        m_dAverageFrameDuration;
		float         m_fFPS;

	private:
		Timer(){}
		Timer( const Timer & ){}
		Timer &operator = ( const Timer& ) {}
	};
}
#endif